package router

import (
	"fmt"
	"x-admin/backend/internal/modules"

	"github.com/gin-gonic/gin"
	"gorm.io/gorm"
)

// InitAutoRoutes 初始化自动路由
func InitAutoRoutes(protected *gin.RouterGroup, db *gorm.DB) {
	// 🚀 自动注册生成的模块路由
	allModules := modules.GetAllModules()

	if len(allModules) == 0 {
		fmt.Println("📦 当前没有自动生成的模块")
		return
	}

	fmt.Printf("🚀 开始注册 %d 个自动生成的模块路由...\n", len(allModules))

	for _, module := range allModules {
		moduleName := module.GetModuleName()
		fmt.Printf("📋 注册模块路由: %s\n", moduleName)

		// 为每个模块创建路由组
		moduleGroup := protected.Group("/" + moduleName)

		// 注册模块路由
		module.RegisterRoutes(moduleGroup, db)
	}

	fmt.Println("✅ 自动生成的模块路由注册完成!")
}
